function Player::rgetDamageLocation(%obj, %position)
{	
	%scale = getWord(%obj.getScale(), 2);
		
	// vectors
	%forwardVector = %obj.getForwardVector();						// direction the bot is facing
	%sideVector = vectorCross(%forwardVector, %obj.getUpVector());  // vector facing directly to the sides of the bot
	
	// points
	%centerPoint = %obj.getWorldBoxCenter();								// middle reference point
	%CPR = vectorClosestPointAngle(%sideVector, %centerPoint, %position);	// where we are on the side-to-side vector
	%closestPoint = getWords(%CPR, 0, 2);									// closest point to where our round hit on the side-to-side vector
	%angle = mRadToDeg(getWord(%CPR, 3));									// angle from the reference point. 90 is center, 0 is left, 180 is right.
	%distanceFromCenter = vectorDist(%closestPoint, %centerPoint);			// distance from the reference point to the side-to-side vector. 0 is center, anything above .4 is an arm.
	
	%zLocation = getWord(%position, 2);					// Z position of our impact
	%zWorldBox = getword(%obj.getWorldBoxCenter(), 2);	// Where the middle of our player is on the z axis
	
	if(%zLocation > %zWorldBox - 3.3 * %scale)
	{
		// Head
		%limb = 0;
	}
	else if(%zLocation > %zWorldBox - 4.5 * %scale)
	{
		if(%distanceFromCenter < (0.4 * %scale))
		{
			// Torso
			%limb = 1;
		}
		else
		{
			if(%angle < 90)
			{
				// Right Arm
				%limb = 2;
			}
			else
			{
				// Left Arm
				%limb = 3;
			}
		}
	}
	else
	{
		if(%angle < 90)
		{
			// Right Leg
			%limb = 4;
		}
		else
		{
			// Left Leg
			%limb = 5;
		}
	}
	return %limb;
}